//
//  SCFoundationMacro.h
//  SCFoundationKit
//
//  Created by Chao Sheng on 2023/10/13.
//

#ifndef SCFoundationMacro_h
#define SCFoundationMacro_h

# pragma mark - 设备相关
/// 屏幕宽度
# define sc_screen_width [UIScreen mainScreen].bounds.size.width
/// 屏幕高度
# define sc_screen_height [UIScreen mainScreen].bounds.size.height
/// 屏幕是否异形屏
# define sc_iPhoneX_Later() ^(){ \
    UIWindow *keywindow = UIApplication.sharedApplication.sc_keyWindow; \
    return keywindow.sc_safeAreaInsets.top > 20 && keywindow.sc_safeAreaInsets.bottom > 20;\
}()
/// iPad
# define sc_iPad ([[UIDevice currentDevice].model isEqualToString:@"iPad"])
/// 小屏幕
# define sc_iPhone8_Early (sc_screen_width == 375.0f)
/// 顶部安全区域
# define sc_safearea_top UIApplication.sharedApplication.sc_keyWindow.sc_safeAreaInsets.top
/// 底部安全高度
# define sc_safearea_bottom UIApplication.sharedApplication.sc_keyWindow.sc_safeAreaInsets.bottom
/// 导航栏高度
# define sc_navigation_height sc_safearea_top + 44
/// 主窗口
# define sc_window UIApplication.sharedApplication.sc_keyWindow

# pragma mark - 颜色相关
# define sc_colorHex(_ref) [UIColor sc_colorWithHex:_ref]
# define sc_rgb(_r,_g,_b) [UIColor colorWithRed:_r / 255.0 green:_g / 255.0 blue:_b / 255.0 alpha:1]
# define sc_rgba(_r,_g,_b,_a) [UIColor colorWithRed:_r / 255.0 green:_g / 255.0 blue:_b / 255.0 alpha:_a]
/// 常用颜色
/// 蓝（常用的按钮、字体颜色）
# define sc_blueColor sc_rgb(0, 122, 255)
/// 淡蓝（常用的字体颜色）
# define sc_lightBlueColor sc_rgb(0, 153, 255)
/// 绿（常用的字体颜色）
# define sc_greenColor sc_rgb(7, 193, 96)
/// 黑（常用的字体颜色）
# define sc_blackColor sc_rgb(51, 51, 51)
/// 深灰（常用的字体颜色）
# define sc_darkGrayColor sc_rgb(112, 112, 112)
/// 灰（常用的字体颜色）
# define sc_grayColor sc_rgb(153, 153, 153)

# pragma mark - 界面适配
# define sc_w(_ref) ^() { \
    CGFloat w = sc_iPad ? sc_screen_width / 375.0 * _ref * 0.7 : sc_screen_width / 375.0 * _ref; \
    return w;\
}()

# pragma mark - 字体相关
# define sc_fit_size(_ref) ^() { \
    if(sc_iPad) { \
        return _ref + 2; \
    } else { \
        return _ref;    \
    } \
}()
/// 系统字体
# define sc_fit_font(_ref) [UIFont systemFontOfSize:sc_fit_size(_ref)]
# define sc_fit_bold_font(_ref) [UIFont systemFontOfSize:sc_fit_size(_ref)]
/// 常用字体
# define sc_PingFangMediumFont(_ref)     [UIFont fontWithName:@"PingFangSC-Medium" size:sc_fit_size(_ref)]
# define sc_PingFangRegularFont(_ref)    [UIFont fontWithName:@"PingFangSC-Regular" size:sc_fit_size(_ref)]
# define sc_DINAlterbateBoldFont(_ref)   [UIFont fontWithName:@"DINAlternate-Bold" size:sc_fit_size(_ref)]
# define sc_DINCondensedBoldFont(_ref)   [UIFont fontWithName:@"DINCondensed-Bold" size:sc_fit_size(_ref)]
# define sc_HappyFONT(_ref) [UIFont fontWithName:@"HappyZcool-2016" size:sc_fit_size(_ref)]

#endif /* SCFoundationMacro_h */
